﻿/*
 Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.md or http://ckeditor.com/license
 */
        CKEDITOR.dialog.add("anchor", function(c) {
            function d(a, b) {
                return a.createFakeElement(a.document.createElement("a", {attributes: b}), "cke_anchor", "anchor")
            }
            return{title: c.lang.link.anchor.title, minWidth: 300, minHeight: 60, onOk: function() {
                    var a = CKEDITOR.tools.trim(this.getValueOf("info", "txtName")), a = {id: a, name: a, "data-cke-saved-name": a};
                    if (this._.selectedElement)
                        this._.selectedElement.data("cke-realelement") ? (a = d(c, a), a.replace(this._.selectedElement), CKEDITOR.env.ie && c.getSelection().selectElement(a)) :
                                this._.selectedElement.setAttributes(a);
                    else {
                        var b = c.getSelection(), b = b && b.getRanges()[0];
                        b.collapsed ? (a = d(c, a), b.insertNode(a)) : (CKEDITOR.env.ie && 9 > CKEDITOR.env.version && (a["class"] = "cke_anchor"), a = new CKEDITOR.style({element: "a", attributes: a}), a.type = CKEDITOR.STYLE_INLINE, c.applyStyle(a))
                    }
                }, onHide: function() {
                    delete this._.selectedElement
                }, onShow: function() {
                    var a = c.getSelection(), b = a.getSelectedElement(), d = b && b.data("cke-realelement"), e = d ? CKEDITOR.plugins.link.tryRestoreFakeAnchor(c, b) : CKEDITOR.plugins.link.getSelectedLink(c);
                    e && (this._.selectedElement = e, this.setValueOf("info", "txtName", e.data("cke-saved-name") || ""), !d && a.selectElement(e), b && (this._.selectedElement = b));
                    this.getContentElement("info", "txtName").focus()
                }, contents: [{id: "info", label: c.lang.link.anchor.title, accessKey: "I", elements: [{type: "text", id: "txtName", label: c.lang.link.anchor.name, required: !0, validate: function() {
                                    return!this.getValue() ? (alert(c.lang.link.anchor.errorName), !1) : !0
                                }}]}]}
        });